From 5a13e08fa7a1faad673856fa359f3d597ae69fa9 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 12 Oct 2011 11:39:06 +0800 Subject: [PATCH] Bug 660730: Win32: Only use _fstat32 if available _fstat32 is only introduced with msvcrt80.dll (i.e. Visual C++ 2005), in which using this function will break compilation with MinGW, which links against msvcrt.dll. The msvcrt.lib in the Windows DDK which links to a later incarnation of the msvcrt.dll in later Windows systems may have this symbol defined, but that needs to be checked upon to be sure. Thanks to Dieter Verfaillie for pointing out this problem. --- gtk/gtkiconcache.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkiconcache.c b/gtk/gtkiconcache.c index 932f540a90..53ceccb47a 100644 --- a/gtk/gtkiconcache.c +++ b/gtk/gtkiconcache.c @@ -108,8 +108,14 @@ _gtk_icon_cache_new_for_path (const gchar *path) goto done; #ifdef G_OS_WIN32 + +/* Bug 660730: _fstat32 is only defined in msvcrt80.dll+/VS 2005+ */ +/* or possibly in the msvcrt.dll linked to by the Windows DDK */ +/* (will need to check on the Windows DDK part later) */ +#if (_MSC_VER >= 1400 || __MSVCRT_VERSION__ >= 0x0800) #undef fstat /* Just in case */ #define fstat _fstat32 +#endif #endif if (fstat (fd, &st) < 0 || st.st_size < 4) -- 2.30.2